const mysql = require('mysql')
const pool = mysql.createPool({
  // host     :  '10.112.73.47',
  // user     :  'select',
  // password :  'zn@gome.com',
  // database :  'gomesmart',

  // host     :  '127.0.0.1',
  // user     :  'root',
  // password :  'Gjj123456',
  // database :  'gomesmart'

    // 200
    // host     :  '10.112.80.3',
    // user     :  'xcloud',
    // password :  'xcloud',
    // database :  'gomesmart'

    // 300
    // host     :  '10.112.80.4',
    // user     :  'testselect',
    // password :  'F9043F5FE0E5B95F5713D',
    // database :  'gomesmart'

    // 500
    host     :  '10.112.80.16',
    user     :  'testselect',
    password :  'F9043F5FE0E5B95F5713D',
    database :  'gomesmart'


    // 800
    // host     :  '10.112.73.47',
    // user     :  'select',
    // password :  'zn@gome.com',
    // database :  'gomesmart'
})

// 接收一个sql语句 以及所需的values
// 这里接收第二参数values的原因是可以使用mysql的占位符 '?'
// 比如 query(`select * from my_database where id = ?`, [1])

let query = function( sql, values ) {
  // 返回一个 Promise
  return new Promise(( resolve, reject ) => {
    pool.getConnection(function(err, connection) {
      if (err) {
        reject( err )
      } else {
        connection.query(sql, values, ( err, rows) => {

          if ( err ) {
            reject( err )
          } else {
            resolve( rows )
          }
          // 结束会话
          connection.release()
        })
      }
    })
  })
}

module.exports =  query
